messageTray: Avoid notification double destruction after activation
The activation handler of a notification may indirectly have already
destroyed it before `activate()` continues and tries to destroy it.
This happened for example in the `FdoNotificationDaemon` activation
handler when no default actions are specified, which ends up calling
`destroyNonResidentNotifications()`.
Another case where this could happen is the `WindowAttentionHandler`
which activates the window and upon activation of the window destroys
the entire notification source, which also destroys the notification.